#ifndef OCK_MEMORY_BRIDGE_OCK_TOOL_DETECT_CONF_H
#define OCK_MEMORY_BRIDGE_OCK_TOOL_DETECT_CONF_H
#include <cstdint>
#include <ostream>
#include "ock/conf/ParamRange.h"

namespace ock {
namespace conf {

struct OckTopoDetectConf
{
    OckTopoDetectConf(void);
    uint32_t toolParrallQueryIntervalMicroSecond;
    uint32_t toolParrallMaxQueryTimes;
    uint32_t defaultThreadNumPerDevice;
    uint32_t defaultTestTime;
    uint32_t defaultPackageMBPerTransfer;
    ParamRange<uint32_t> threadNumPerDevice;
    ParamRange<uint32_t> testTime;
    ParamRange<uint64_t> packagePerTransfer;
    ParamRange<uint64_t> packageMBPerTransfer;
};

bool operator==(const OckTopoDetectConf &lhs, const OckTopoDetectConf &rhs);
bool operator!=(const OckTopoDetectConf &lhs, const OckTopoDetectConf &rhs);
std::ostream &operator<<(std::ostream &os, const OckTopoDetectConf &conf);
}
}
#endif